﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using TOAcademias;

namespace DAOAcademias
{

    /*************************************
    Autor: Carlos Sánchez
    Fecha de Creación: 06/02/2011
    Descripción de la Funcionalidad: Clase que contiene metodos que serviran para dar
    soporte a los registros de la entidad SeccionEncuesta.
    **************************************/    
    
    public class DOSeccionEncuesta
    {

            DBModuloAcademiasDataContext dbml;

        public DOSeccionEncuesta()
        {
            dbml = new DBModuloAcademiasDataContext();
        }


         public List<TOSeccionEncuesta> obtenerSeccionEncuesta()
         {

             List<TOSeccionEncuesta> listaSeccionEncuesta = new List<TOSeccionEncuesta>();



             var encuesta = (from enc in dbml.SECCION_ENCUESTAs 
                              select enc 
                              );

             foreach (var enc in encuesta)
             {

                 TOSeccionEncuesta toSeccionEncuesta = new TOSeccionEncuesta();
                 toSeccionEncuesta.CodigoEncuesta = enc.COD_ENCUESTA;
                 toSeccionEncuesta.CodigoSeccion  = enc.COD_SECCION;
                 listaSeccionEncuesta.Add(toSeccionEncuesta);

             }

             return listaSeccionEncuesta;
         }


         public List<TOSeccionEncuesta> obtenerSeccionEncuestaxEncuesta(String CodigoEncuesta)
         {

             List<TOSeccionEncuesta> listaSeccionEncuesta = new List<TOSeccionEncuesta>();

             var encuesta = (from enc in dbml.SECCION_ENCUESTAs
                             where enc.COD_ENCUESTA == CodigoEncuesta
                             select enc
                              );

             foreach (var enc in encuesta)
             {

                 TOSeccionEncuesta toSeccionEncuesta = new TOSeccionEncuesta();
                 toSeccionEncuesta.CodigoEncuesta = enc.COD_ENCUESTA;
                 toSeccionEncuesta.CodigoSeccion = enc.COD_SECCION;
                 listaSeccionEncuesta.Add(toSeccionEncuesta);

             }

             return listaSeccionEncuesta;
         }

         public Boolean validaExistencia(TOSeccionEncuesta toSeccionEncuesta)
         {
             var encuesta = (from enc in dbml.SECCION_ENCUESTAs
                             where enc.COD_ENCUESTA == toSeccionEncuesta.CodigoEncuesta && enc.COD_SECCION == toSeccionEncuesta.CodigoSeccion
                             select enc).Count();

             if (Convert.ToInt32(encuesta) > 0)
             {
                 return true;
             }
             else
             {
                 return false;
             }
         }

         public void insertarSeccionEncuesta(TOSeccionEncuesta toSeccionEncuesta)
         {
             if (!validaExistencia(toSeccionEncuesta))
             {
                 SECCION_ENCUESTA enc = new SECCION_ENCUESTA();
                 enc.COD_ENCUESTA = toSeccionEncuesta.CodigoEncuesta;
                 enc.COD_SECCION = toSeccionEncuesta.CodigoSeccion;

                 dbml.SECCION_ENCUESTAs.InsertOnSubmit(enc);
                 dbml.SubmitChanges();
             
             }
         }


         public void eliminarSeccionEncuesta(TOSeccionEncuesta toSeccionEncuesta)
         {
             if (validaExistencia(toSeccionEncuesta))
             {
                 var encuesta = (from enc in dbml.SECCION_ENCUESTAs
                                 where enc.COD_ENCUESTA == toSeccionEncuesta.CodigoEncuesta && enc.COD_SECCION == toSeccionEncuesta.CodigoSeccion
                                 select enc).Single();

                 dbml.SECCION_ENCUESTAs.DeleteOnSubmit(encuesta);
                 dbml.SubmitChanges();
             }
         }

         public void eliminarSeccionEncuestaxEncuesta(String strCodEncuesta)
         {
            var encuestas = (from enc in dbml.SECCION_ENCUESTAs
                         where enc.COD_ENCUESTA == strCodEncuesta
                         select enc);

            foreach (var enc in encuestas)
            {
                dbml.SECCION_ENCUESTAs.DeleteOnSubmit(enc);
                dbml.SubmitChanges();
            }
                 
         }

    }

}
